package procsim;

class PaintIMR extends PaintTab {
    public PaintIMR(Paint parent) {
        super(parent);
        // Coordinates
        Design.ldCONTROL.addCoords(this, 20, 50, 20, 65);
        Design.ldCONTROL.addCoords(this, Design.IMROR.getUpper2Coords(40));
        Design.STIMR.addCoords(this, Design.IMROR.getLower2Coords(40));
        Design.IMRORout.addCoords(this, Design.IMROR.getResCoords(23));
        Design.IMRORout.addCoords(this, 110, 72, 110, 375);
        Design.IMRORout.addCoords(this, Design.IMRAND1.getUpper2Coords(20));
        Design.IMRORout.addCoords(this, Design.IMRAND2.getUpper2Coords(20));
        Design.IMRORout.addCoords(this, Design.IMRAND3.getUpper2Coords(20));
        Design.IMRORout.addCoords(this, Design.IMRAND4.getUpper2Coords(20));
        Design.IMRORout.addCoords(this, Design.IMRAND5.getUpper2Coords(20));
        Design.IMRORout.addCoords(this, Design.IMRAND6.getUpper2Coords(20));
        Design.REGout3.addCoords(this, Design.IMRAND1.getLower2Coords(80));
        Design.REGout3.addCoords(this, 100, 105, 100, 150);
        Design.REGout3.addCoords(this, Design.IMRAND2.getLower2CoordsInv(30));
        Design.REGout2.addCoords(this, Design.IMRAND3.getLower2Coords(80));
        Design.REGout2.addCoords(this, 100, 225, 100, 270);
        Design.REGout2.addCoords(this, Design.IMRAND4.getLower2CoordsInv(30));
        Design.REGout1.addCoords(this, Design.IMRAND5.getLower2Coords(80));
        Design.REGout1.addCoords(this, 100, 345, 100, 390);
        Design.REGout1.addCoords(this, Design.IMRAND6.getLower2CoordsInv(30));
        Design.IMRAND1out.addCoords(this, Design.IMRAND1.getResCoords(30));
        Design.IMRAND2out.addCoords(this, Design.IMRAND2.getResCoords(30));
        Design.IMRAND3out.addCoords(this, Design.IMRAND3.getResCoords(30));
        Design.IMRAND4out.addCoords(this, Design.IMRAND4.getResCoords(30));
        Design.IMRAND5out.addCoords(this, Design.IMRAND5.getResCoords(30));
        Design.IMRAND6out.addCoords(this, Design.IMRAND6.getResCoords(30));
        Design.IMR3.addCoords(this, Design.IMRRS3.getQCoords(30));
        Design.IMR2.addCoords(this, Design.IMRRS2.getQCoords(30));
        Design.IMR1.addCoords(this, Design.IMRRS1.getQCoords(30));
        Design.grADR.addCoords(this, Design.IMRAND7.getUpper2Coords(40));
        Design.ldPRADROPR.addCoords(this, 280, 277, 360, 277);
        Design.ldPRADROPR.addCoords(this, 360, 277, 360, 225);
        Design.ldPRADROPR.addCoords(this, 360, 277, 360, 330);
        Design.ldPRADROPR.addCoords(this, Design.IMRAND7.getLower2Coords(10));
        Design.ldPRADROPR.addCoords(this, Design.IMRAND8.getUpper2Coords(10));
        Design.grOPR.addCoords(this, Design.IMRAND8.getLower2Coords(40));
        Design.stPRINT.addCoords(this, Design.PRINTRS.getSCoords(50));
        Design.ackPRINT.addCoords(this, Design.PRINTRS.getRCoords(50));
        Design.PRINT.addCoords(this, Design.PRINTRS.getQCoords(40));
        Design.IMRAND7out.addCoords(this, Design.PRADRRS.getSCoords(30));
        Design.ackADR.addCoords(this, Design.PRADRRS.getRCoords(50));
        Design.PRADR.addCoords(this, Design.PRADRRS.getQCoords(40));
        Design.IMRAND8out.addCoords(this, Design.PROPRRS.getSCoords(30));
        Design.ackOPR.addCoords(this, Design.PROPRRS.getRCoords(50));
        Design.PROPR.addCoords(this, Design.PROPRRS.getQCoords(40));

        // Collections
        elements.add(Design.IMROR);
        elements.add(Design.IMRAND1);
        elements.add(Design.IMRAND2);
        elements.add(Design.IMRAND3);
        elements.add(Design.IMRAND4);
        elements.add(Design.IMRAND5);
        elements.add(Design.IMRAND6);
        elements.add(Design.IMRAND7);
        elements.add(Design.IMRAND8);
        elements.add(Design.IMRInv1);
        elements.add(Design.IMRInv2);
        elements.add(Design.IMRInv3);
        elements.add(Design.IMRRS1);
        elements.add(Design.IMRRS2);
        elements.add(Design.IMRRS3);
        elements.add(Design.PRINTRS);
        elements.add(Design.PRADRRS);
        elements.add(Design.PROPRRS);

        lines.add(Design.REGout1);
        lines.add(Design.REGout2);
        lines.add(Design.REGout3);
        lines.add(Design.grADR);
        lines.add(Design.grOPR);
        lines.add(Design.ldCONTROL);
        lines.add(Design.STIMR);
        lines.add(Design.stPRINT);
        lines.add(Design.ackPRINT);
        lines.add(Design.ldPRADROPR);
        lines.add(Design.ackADR);
        lines.add(Design.ackOPR);
        lines.add(Design.IMR1);
        lines.add(Design.IMR2);
        lines.add(Design.IMR3);
        lines.add(Design.PRINT);
        lines.add(Design.PRADR);
        lines.add(Design.PROPR);
        lines.add(Design.IMRORout);
        lines.add(Design.IMRAND1out);
        lines.add(Design.IMRAND2out);
        lines.add(Design.IMRAND3out);
        lines.add(Design.IMRAND4out);
        lines.add(Design.IMRAND5out);
        lines.add(Design.IMRAND6out);
        lines.add(Design.IMRAND7out);
        lines.add(Design.IMRAND8out);
    }
}
